#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

//const int N = 5010;
//
//int primes[N], cnt;
//int sum[N];
//bool st[N];
//
//void getprimes(int n)
//{
//    for (int i = 2; i <= n; i++)
//    {
//        if (!st[i])   primes[cnt++] = i;
//        for (int j = 0; primes[j] <= n / i; j++)
//        {
//            st[primes[j] * i] = true;
//            if (i % primes[j] == 0)  break;
//        }
//    }
//}
//
//int get(int n, int p)
//{
//    int res = 0;
//    while (n)
//    {
//        res += n / p;
//        n /= p;
//    }
//    return res;
//}
//
//vector<int> mul(vector<int>& a, int b)
//{
//    vector<int> c;
//    int t = 0;
//    for (int i = 0; i < a.size() || t; i++)
//    {
//        if (i < a.size()) t += a[i] * b;
//        c.push_back(t % 10);
//        t /= 10;
//    }
//
//    while (c.size() > 1 && c.back() == 0)
//        c.pop_back();
//    return c;
//}
//
//int main()
//{
//    int a, b;
//    cin >> a >> b;
//
//    getprimes(a);
//
//    for (int i = 0; i < cnt; i++)
//    {
//        int p = primes[i];
//        sum[i] = get(a, p) - get(b, p) - get(a - b, p);
//    }
//
//    vector<int> res;
//    res.push_back(1);
//
//    for (int i = 0; i < cnt; i++)
//        for (int j = 0; j < sum[i]; j++)
//            res = mul(res, primes[i]);
//
//    for (int i = res.size() - 1; i >= 0; i--)    printf("%d", res[i]);
//    puts("");
//    return 0;
//}


const int N = 20;

int p[N];
int n, m;

int main()
{
    cin >> n >> m;
    for (int i = 0; i < m; i++)  cin >> p[i];

    int res = 0;
    for (int i = 1; i < 1 << m; i++)
    {
        int t = 1, cnt = 0;
        for (int j = 0; j < m; j++)
        {
            if (i >> j & 1)
            {
                cnt++;
                if ((LL)p[j] * t > n)
                {
                    t = -1;
                    break;
                }

                t *= p[j];
            }
        }

        if (t != -1)
        {
            if (cnt % 2) res += n / t;
            else res -= n / t;
        }
    }

    cout << res << endl;
    return 0;
}